﻿#pragma once

#include<stdio.h>
#include<string.h>
#include<stdlib.h>

struct StackNode
{
	struct StackNode* next;
};
struct LStack
{
	//1.头节点；
	struct StackNode header;
	int size;
};
typedef void* LinkStack;

#ifdef __cplusplus
extern "C" {
#endif

	//2.初始化链式栈；
	LinkStack Init_LinkStack();
	//3.入栈；
	void Push_LinkStack(LinkStack stack, void* data);
	//4.出栈；
	void Pop_LinkStack(LinkStack stack);
	//5.获得栈顶元素；
	void* Top_LinkStack(LinkStack stack);
	//6.获得大小；
	int Size_LinkStack(LinkStack stack);
	//7.销毁链式栈；
	void Destroy_LinkStack(LinkStack stack);

#ifdef __cplusplus
}
#endif
